Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery]slideToggle() - problem z kolejkowaniem
vonski
post
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 89
Dołączył: 27.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam.
Robię sobie rozwijane menu za pomocą jQuery, a konkretnie funkcji slideToggle(). Podgląd na żywo dostępny jest tutaj:
http://tomek.rychtyk.pl/workshop/afryka/product.html - chodzi o ten zielony button 'Wybierz opakowanie'.
Niby wszystko wygląda ok - po najechaniu kursorem ładnie rozwija się menu z gramaturami, po "zdjęciu" kursora, menu się zwija. Problem w tym, że jQuery kolejkuje te "najechania" myszką i przez to, jeśli szybko przewinę kursorem w dół i w górę (w obrębie przycisku oczywiście) to owe menu będzie się wysuwać i wsuwać i tak aż do wykonania wszystkich "najechań".
Inna rzecz: jak najadę na 'Wybierz opakowanie' a później szybko na którąś z gramatur (na tyle szybko by menu nie zdążyło się całe rozwinąć) to jest podobny problem do opisanego powyżej.

Kod JS:

  1. $(".pack").hover(function()
  2. {
  3. $(".ribbon").slideToggle("slow");
  4. $(".grams-list li").each(function() { $(this).removeClass("glActive"); });
  5. });


Próbowałem dodać przed wywołaniem slideToggle: stop(true, true) - nie pomogło.
Próbowałem z $(".ribbon").clearQueue(); oraz $(".ribbon").dequeue() - też lipa.
Tzn. w przypadku dwóch ostatnich prób to "pomogło" o tyle, że nie kolejkowało najechań myszką na button, ale za to.. po jednej animacji w ogóle już nie reagowało na hover.
Aha, apropo animacji, to próbowałem też zastąpić slideToggle() funkcją animate() mniej więcej w ten sposób:

  1. $(".ribbon").animate({height:"toggle", opacity:"toggle"}, "slow");


i efekt był ten sam :/

Mam już dość.
Spotkał się ktoś może z tym problemem i ma jakiś skuteczny lek na to?
Z góry dzięki

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 17:53